'''
读文件相关的操作
'''
import configparser
import os

import yaml


def get_project_path():
    '''
    获取当前工程路径
    :return:
    '''
    cf = os.path.abspath(__file__)
    # print("当前文件路径：", cf)   # ReadFile.py
    cd = os.path.dirname(cf)
    # print("当前文件所在目录：", cd)  # caw
    cd = os.path.dirname(cd)  # zonghe
    # print("当前文件所在目录：", cd)
    return cd + "\\"


def read_ini(path, key):
    '''
    读取ini文件
    :param path: ini文件路径
    :param key:  ini文件中的key
    :return:  key对应的value
    '''
    path = get_project_path() + path
    cp = configparser.ConfigParser()  # 创建一个实例
    cp.read(path)  # 读文件
    return cp.get('env', key)  # section  key，取出[env]下的key对应的value


def read_yaml(path):
    '''
    读取yaml文件
    :param path:  yaml文件路径
    :return:  返回文件内容
    '''
    path = get_project_path() + path
    with open(path, mode='r', encoding='utf-8') as f:
        content = f.read()
        # load 方法，Loader 参数
        return yaml.load(content, Loader=yaml.SafeLoader)


# 测试代码，用完可以删除的。
if __name__ == '__main__':
    a = read_ini(r"data_env\env.ini", "url")
    print(a)
    b = read_ini(r"data_env\env.ini", "db")
    print(b)
    c = read_yaml(r"data_case\register_fail.yaml")
    print(c)
